/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package td2;

import java.util.Map;

/**
 *
 * @author boomar
 */
public class Etudiant implements Comparable<Etudiant> {

    //========================================================================
    //                             Attributs
    //========================================================================
    private String nom;
    private String prenom;
    private Map<Matiere, Note> notes;
    private double moyenne;

    //========================================================================
    //                             Constructeurs
    //========================================================================

    public Etudiant(String nom, String prenom, Map<Matiere, Note> notes, double moyenne) {
        this.nom = nom;
        this.prenom = prenom;
        this.notes = notes;
        this.moyenne = moyenne;
    }

    //========================================================================
    //                             Getters
    //========================================================================

    public double getMoyenne() {
        return moyenne;
    }

    public String getNom() {
        return nom;
    }

    public Map<Matiere, Note> getNotes() {
        return notes;
    }

    public String getPrenom() {
        return prenom;
    }

    double getNote(Matiere m) {
        return notes.get(m).getValeur();
    }

    //========================================================================
    //                             Setters
    //========================================================================

    public void setMoyenne(double moyenne) {
        this.moyenne = moyenne;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }

    public void setNotes(Map<Matiere, Note> notes) {
        this.notes = notes;
    }

    public void setPrenom(String prenom) {
        this.prenom = prenom;
    }

    //========================================================================
    //                             Méthodes
    //========================================================================

    @Override
    public String toString() {
        return "Etudiant{" + "nom=" + nom + "prenom=" + prenom + "notes=" + notes + "moyenne=" + moyenne + '}';
    }

    //========================================================================
    //On compare les étudiants selon leurs moyenne
    public int compareTo(Etudiant o) {
        return (moyenne == o.moyenne) ? 0 : ((moyenne < o.moyenne) ? -1 : 1) ;
    }

    //========================================================================

    void saisieNote(Matiere m, Note n){
        notes.put(m,n);
    }

    void saisieNotes() {
        
    }
    //========================================================================
}
